package com.shenda.api.service;

import com.shenda.api.dto.ConfigDTO;
import com.shenda.api.dto.OnlinesDTO;
import com.shenda.api.entity.Gyro;
import com.swak.entity.Page;
import com.swak.entity.Parameters;

/**
 * 陀螺仪服务
 * 
 * @author lifeng
 */
public interface GyroService {

	/**
	 * 在线设备
	 * 
	 * @return
	 */
	OnlinesDTO onlines();

	/**
	 * 分页查询
	 * 
	 * @param query
	 * @param param
	 * @return
	 */
	Page page(Gyro query, Parameters param);

	/**
	 * 入库
	 * 
	 * @param query
	 * @return
	 */
	void save(Gyro query);

	/**
	 * 入库
	 * 
	 * @param query
	 * @return
	 */
	void updateSettings(Gyro query);

	/**
	 * 入库
	 * 
	 * @param query
	 * @return
	 */
	void updateFlush(Gyro query);

	/**
	 * 刷新
	 * 
	 * @return
	 */
	void refresh();

	/**
	 * 配置
	 * 
	 * @return
	 */
	void config(ConfigDTO config);

	/**
	 * 开始采集
	 * 
	 * @return
	 */
	void gather();

	/**
	 * 停止采集
	 * 
	 * @return
	 */
	void ungather();

	/**
	 * 开始上传
	 * 
	 * @return
	 */
	void upload();

	/**
	 * 停止上传
	 * 
	 * @return
	 */
	void unupload();

	/**
	 * 清除
	 * 
	 * @return
	 */
	void flush();

	/**
	 * 重启
	 * 
	 * @return
	 */
	void reboot();

	/**
	 * 关闭
	 * 
	 * @return
	 */
	void close();
}